<?php
namespace app\common\controller;

// 底层控制器
use think\Controller;

//引入cookie
use think\Cookie;

/**
 * 前台公共控制器
 */
class Homecontroller extends Controller{

    public function __construct(){
        // 继承父类
        parent::__construct();

        //定义一个全局模型
        $this->UserModel = model('User.User');
        $this->ConfigModel = model('Config');

        //判断是否有登录
        $LoginUser = Cookie::get('LoginUser');

        if(!empty($LoginUser)){
            //查出来是否正确
            $id = isset($LoginUser['id']) ? $LoginUser['id'] : 0;

            //根据id去查询用户 关联查询
            $user = $this->UserModel->find($id);

            //当这个人不存在
            if(!$user){
                //cookie属于伪造的
                Cookie::delete('LoginUser');
                $this->error('非法登录', url('home/index/login'));
                exit;
            }

            //设置给所有全局的控制器
            $this->LoginUser =  $user;

            //当这个人存在的话 做一个全局的赋值
            $this->assign('LoginUser', $user);


        } else{
            $this->error('请先登录', url('home/index/login'));
            exit;
        }

        // 获取系统配置
        $this->system();
    }

    public function system(){
        $SystemList = $this->ConfigModel->select();

        $System = [];
        
        foreach($SystemList as $item){
            // SystemList（配置表）key当数组key
            $System[$item['key']] = $item['value'];
        }
        
        //让每个界面都可以获取系统配置
        $this->assign('System', $System);
    }
}